package dao

// func (s *GdsAccess) CreateUser(ctx context.Context, create *model.User) (*model.User, error) {
// 	user, err := s.Handler.CreateUser(ctx, create)
// 	if err != nil {
// 		return nil, err
// 	}

// 	s.userCache.Store(user.ID, user)
// 	return user, nil
// }

// func (s *GdsAccess) UpdateUser(ctx context.Context, update *models.UpdateUser) (*models.User, error) {
// 	user, err := s.Handler.UpdateUser(ctx, update)
// 	if err != nil {
// 		return nil, err
// 	}

// 	s.userCache.Store(user.ID, user)
// 	return user, nil
// }

// func (s *GdsAccess) ListUsers(ctx context.Context, find *models.FindUser) ([]*models.User, error) {
// 	list, err := s.Handler.ListUsers(ctx, find)
// 	if err != nil {
// 		return nil, err
// 	}

// 	for _, user := range list {
// 		s.userCache.Store(user.ID, user)
// 	}
// 	return list, nil
// }

// func (s *GdsAccess) GetUser(ctx context.Context, find *models.FindUser) (*models.User, error) {
// 	if find.ID != nil {
// 		if *find.ID == models.SystemBotID {
// 			return models.SystemBot, nil
// 		}
// 		if cache, ok := s.userCache.Load(*find.ID); ok {
// 			user, ok := cache.(*models.User)
// 			if ok {
// 				return user, nil
// 			}
// 		}
// 	}

// 	list, err := s.ListUsers(ctx, find)
// 	if err != nil {
// 		return nil, err
// 	}
// 	if len(list) == 0 {
// 		return nil, nil
// 	}

// 	user := list[0]
// 	s.userCache.Store(user.ID, user)
// 	return user, nil
// }

// func (s *GdsAccess) DeleteUser(ctx context.Context, delete *models.DeleteUser) error {
// 	err := s.Handler.DeleteUser(ctx, delete)
// 	if err != nil {
// 		return err
// 	}

// 	s.userCache.Delete(delete.ID)
// 	return nil
// }
